/**
 * @author huangy
 * @since 2022/8/24 9:49 下午
 */
public class RecursiveFibonacci {

    InitCall fib;

    RecursiveFibonacci() {
        fib = n -> n == 0 ? 0 :
                n == 1 ? 1 :
                        fib.call(n - 1) + fib.call(n - 2);
    }

    int fibonacci(int n) {
        return fib.call(n);
    }

    public static void main(String[] args) {
        RecursiveFibonacci fibonacci = new RecursiveFibonacci();
        for (int i = 0; i < 10; i++) {
            System.out.println(fibonacci.fibonacci(i));
        }
    }

}
